Functional Over-related Classes Bad Smell Detection and Refactoring Suggestions
نویسندگان
چکیده
Bad phenomena about functional over-related classes and confused inheritances in programs will cause difficulty in programs comprehension, extension and maintenance. In this paper it is defined as a new bad smell Functional over-Related Classes. After the analysis, the characteristics of this new smell are transformed to the large number of entities dependency relationships between classes. So after entities dependency information collection and analysis, the bad smell is detected in programs, and corresponding refactoring suggestions are provided based on detection results. The experiments results of open source programs show that the proposed bad smell cannot be detected by current detection methods. The proposed detection method in this paper behaves well on refactoring evaluation, and the refactoring suggestions improve the quality of programs.
منابع مشابه
A Catalog of Bad Smells in Design-by-Contract Methodologies with Java Modeling Language
Bad smells are usually related to program source code, arising from bad design and programming practices. Refactoring activities are often motivated by the detection of bad smells. With the increasing adoption of Design-by-Contract (DBC) methodologies in formal software development, evidence of bad design practices can similarly be found in programs that combine actual production code with inte...
متن کاملMulti-step Automated Refactoring for Code Smell
In computer programming, code smell may origin of latent problems in source code. Detecting and resolving bad smells remain time intense for software engineers despite proposals on bad smell detecting and refactoring tools. Numerous code smells have been recognized yet the sequence in which the detection and resolution of different kinds of code smells are performed because software engineers d...
متن کاملAn Empirical Study of Bad Smell in Code on Maintenance Effort
In this paper, we represent an automated code smell detection and refactoring tool for calculating risk factor by detecting Code Smells and decrease risk factor by Refactoring Techniques. Refactoring is a process for restructuring or improving internal structure of software without changing its behavior. A new code smell (Lazy Catch) detection is also presented. To achieve this aim Declarative ...
متن کاملDetecting Bad Smells in Object Oriented Design Using Design Change Propagation Probability Matrix
-Object oriented software systems are subject to frequent modifications either during development (iterative, agile software development) or software evolution. For such systems which have large number of classes, detection of design defects is a complex task. Bad smells are used to identify design defects in object oriented software design. Identification of bad smells allows us to apply appro...
متن کاملMinimizing Refactoring Effort through Prioritization of Classes based on Historical, Architectural and Code Smell Information
Improving a software system’s internal structure through regular refactoring is considered vital for its long and healthy life. However, despite its amenities, refactoring is not readily adopted by software development teams in industry mainly due to strict project deadlines and limited resources. Hence, they look for optimal refactoring recommendations that would incur minimal effort overhead ...
متن کامل